//
//  SocketTypes.h
//  Socket.IO-Client
//
//  Created by alanwang.dev on 16/8/8.
//  Copyright © 2016年 com.alanwang.dev. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "SocketAckEmitter.h"
#import "SocketEngineSpec.h"
#import "SocketEnginePacketType.h"

typedef void(^AckCallback)(NSArray *);
typedef void(^NormalCallback)(NSArray *, SocketAckEmitter *);
typedef void(^OnAckCallBack)(UInt64 timeoutAfter, AckCallback callback);


@interface Probe : NSDictionary
@property (nonatomic, copy) NSString *msg;
@property (nonatomic, assign) SocketEnginePacketType type;
@property (nonatomic, strong) NSArray<NSData *> *data;
@end

typedef NSMutableArray<Probe *> ProbeWaitQueue;


